/*
 *  Material.h
 *  EidoTron
 *
 *  Created by Luca Di Franco on 10/03/11.
 *  Copyright 2011 Luca Di Franco. All rights reserved.
 *
 */

#ifndef __MATERIAL_H__
#define __MATERIAL_H__

#include <vector>

class Image;

using std::vector;

class Material
{
	
public:
	static vector< Material* >* materialsFromFile(const char* fileName);
	static Material* find(vector< Material* >* materials, const char* materialName);
	
private:
	char	name[128];
	
	float	Ka[3];
	float	Kd[3];
	float	Ks[3];
	float	alpha;
	float	shininess;
	Image*	KdTexture;
	
public:
	Material();
	virtual ~Material();
	
	void startUse();
	void stopUse();
	
	void mulColor(float* color);
	
};

#endif